package qlvbdq.controler;

import java.util.ArrayList;
import javax.swing.JOptionPane;
import qlvbdq.bo.PhieuBanHangBO;
import qlvbdq.dto.PhieuBanHangDTO;

/**
 *
 * @author THAI HA
 */
public class PhieuBanHangControler {

    public PhieuBanHangControler() {
    }

    /**
     * @description them mot phieu ban hang moi
     * @param pbhdto_ thong tin can them
     * @return true neu them thanh cong, false neu that bai
     */
    public boolean insertPhieuBanHang(PhieuBanHangDTO pbhdto_) {
        boolean result = false;
        PhieuBanHangBO pbhbo = new PhieuBanHangBO();
        if (pbhbo.themPhieuBanHang(pbhdto_)) {
            JOptionPane.showMessageDialog(null,
                    "Thêm phiếu bán hàng mới thành công!",
                    "Thêm phiếu bán hàng",
                    JOptionPane.INFORMATION_MESSAGE);
            result = true;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Không thể thêm phiếu bán hàng mới!",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
        return result;
    }

    public boolean deletePhieuBanHang(PhieuBanHangDTO pbhdto_) {
        boolean result = false;
        PhieuBanHangBO pbhbo = new PhieuBanHangBO();
        if (pbhbo.deletePhieuBanHang(pbhdto_)) {
            JOptionPane.showMessageDialog(null,
                    "Xóa phiếu bán hàng thành công!",
                    "Xóa phiếu bán hàng",
                    JOptionPane.INFORMATION_MESSAGE);
            result = true;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Không thể xóa phiếu bán hàng!",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
        return result;
    }

    public String getNewMaPhieuBanHang() {
        PhieuBanHangBO pbhbo = new PhieuBanHangBO();
        String maPhieuBanHang = pbhbo.getNewMaPhieuBanHang();
        if (maPhieuBanHang.isEmpty() || maPhieuBanHang == null) {
            JOptionPane.showMessageDialog(null,
                    "Không thể thêm phiếu bán hàng mới!",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
        return maPhieuBanHang;
    }

    public ArrayList<PhieuBanHangDTO> searchPhieuBanHangByRule(PhieuBanHangDTO pbhdto_) {
        PhieuBanHangBO pbhbo = new PhieuBanHangBO();
        ArrayList<PhieuBanHangDTO> dataResult = pbhbo.searchPhieuBanHangByRule(pbhdto_);
        if (dataResult != null) {
            return dataResult;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Không tìm thấy kết quả",
                    "Tìm kiếm theo ngày mua",
                    JOptionPane.INFORMATION_MESSAGE);
            return null;
        }
    }
}
